package br.com.swp.campestre.session;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.ejb.Local;

import br.com.swp.campestre.entity.ClientePF;
import br.com.swp.campestre.entity.ClientePJ;
import br.com.swp.campestre.entity.Lote;
import br.com.swp.campestre.entity.ParcelaFinancimentoCEF;
import br.com.swp.campestre.entity.ParcelaFinancimentoProprio;
import br.com.swp.campestre.entity.Venda;
import br.com.swp.campestre.enumeration.FormaPagamento;
import br.com.swp.campestre.enumeration.SimNao;

@Local
public interface VendaLocal
{
	public void init();
	public BigDecimal valorTotalLotes();
	public void vendaBean();
	public String novaVenda();
	public void pesquisaCliente();
	public void addLote();
	public void removeLote(Lote _lote);
	public void destroy();
	public String getCpf();
	public void setCpf(String cpf);
	public ClientePF getClientePF();
	public void setClientePF(ClientePF clientePF);
	public void setCodigoLote(String codigoLote);
	public String getCodigoLote();
	public void setLotes(List<Lote> lotes);
	public List<Lote> getLotes();
	public void setParcelasFinancimentoCaixa(List<ParcelaFinancimentoCEF> parcelasFinancimentoCaixa);
	public List<ParcelaFinancimentoCEF> getParcelasFinancimentoCaixa();
	public void setParcelasFinancimentoCaixa();
	public void addFinancimentoCaixa();
//	public void setValorParcelaCaixa(BigDecimal valorParcelaCaixa);
//	public BigDecimal getValorParcelaCaixa();
//	public void setNumeroParcelaCaixa(Integer numeroParcelaCaixa);
//	public Integer getNumeroParcelaCaixa();
	public Venda getVenda();
	public void setVenda(Venda venda);
	public void formasPgto();
	public List<FormaPagamento> getFormasPgto();
	public void setFormasPgto(List<FormaPagamento> formasPgto);
	public BigDecimal calculaValorVenda();
	
	
	public List<SimNao> getSimNaoList();
	public void setSimNaoList(List<SimNao> simNaoList);
	public void simNaoList();

	public List<ParcelaFinancimentoProprio> getParcelasFinanciamentoProprio();
	public void setParcelasFinanciamentoProprio(List<ParcelaFinancimentoProprio> parcelasFinanciamentoProprio);

	public void addClientePF();
	public void removeClientePF(ClientePF clientePF);
	public void addParcelaFinanProp();
	public BigDecimal getValorChqFinanProp();
	public void setValorChqFinanProp(BigDecimal valorChqFinanProp);
	public Date getDataVencimentoChqFinanProp();
	public void setDataVencimentoChqFinanProp(Date dataVencimentoChqFinanProp);
	public Integer getNumBancoChqFinanProp();
	public void setNumBancoChqFinanProp(Integer numBancoChqFinanProp);
	public Integer getNumAgenciaChqFinanProp();
	public void setNumAgenciaChqFinanProp(Integer numAgenciaChqFinanProp);
	public Integer getNumContaChqFinanProp();
	public void setNumContaChqFinanProp(Integer numContaChqFinanProp);
	public Integer getNumChqFinanProp();
	public void setNumChqFinanProp(Integer numChqFinanProp);
	public SimNao getChqTerceiroFinanProp();
	public void setChqTerceiroFinanProp(SimNao chqTerceiroFinanProp);
	public String getNomeTerceiroChqFinanProp();
	public void setNomeTerceiroChqFinanProp(String nomeTerceiroChqFinanProp);
	public String getCpfTerceiroChqFinanProp();
	public void setCpfTerceiroChqFinanProp(String cpfTerceiroChqFinanProp);
	public void setTipoPessoa(String tipoPessoa);
	public String getTipoPessoa();
	public void setCnpj(String cnpj);
	public String getCnpj();
	public ClientePJ getClientePJ();
	public void setClientePJ(ClientePJ clientePJ);
//	public void setClientesPJ(List<ClientePJ> clientesPJ);
//	public List<ClientePJ> getClientesPJ();
	public void removeClientePJ(ClientePJ clientePJ);

	public void addClientePJ();
	public boolean isErroGlobal();
	public void setErroGlobal(boolean erroGlobal);

}
